home *** CD-ROM | disk | FTP | other *** search
- Path: soap.news.pipex.net!pipex!usenet
- From: m.hendry@dial.pipex.com (Mathew Hendry)
- Newsgroups: comp.sys.amiga.applications
- Subject: Re: Executive and AmiTCP..
- Date: Tue, 27 Feb 96 04:54:52
- Organization: Private node.
- Distribution: world
- Message-ID: <19960227.4190C0.4F2F@aj169.du.pipex.com>
- References: <778.6621T1384T1708@moor.slip.uky.edu> <4gahsu$5fm@tkhut.sojourn.com>
- NNTP-Posting-Host: aj169.du.pipex.com
- X-Newsreader: TIN [AMIGA 1.3 950726BETA PL0]
-
- Manfred Matzinger (matzing@ping.at) wrote:
- : On 26-Feb-96 03:00:25, Mathew Hendry <m.hendry@dial.pipex.com> wrote:
- : MH> No, but many of BlitzBlank's blanker modules are very CPU intensive. If you
- : MH> don't shedule BlitzBlank properly, it's likely to steal a lot of CPU time
- :
- : BlitzBlank doesn't steal lots of CPU time, because it installs it's own
- : WatchTask, which forces Blitzblank to show a blank, black screen when the
- : current blanker-module steals too much CPU time.
-
- That doesn't work properly with Executive running.
-
- To check CPU usage, BlitzBlank installs a dummy task, called BB.WatchTask, at
- the same priority (-5 by default) as that of the chosen blanker module. If
- BlitzBlank finds that BB.WatchTask is not getting any CPU time (i.e. some
- program(s) at priority -4 or above are using all available CPU) it stops the
- blanker module immediately and replaces it with a blank screen.
-
- Under Executive this method does not work, because the task priorities are
- continually shifted around to give _all_ tasks some CPU time - that is the
- point of using a sheduler, after all.
-
- So BB.WatchTask is not blocked, making BlitzBlank think that the system is not
- under heavy load. The result of all this is that the blanker module continues
- to run, eating up valuable CPU time.
-
- : There is no need to schedule any of BlitzBlanks tasks!
-
- Yes there is.
-
- One way, which still allows BlitzBlank to react to heavy loads, but has a
- rather annoying side-effect, is this:
-
- BB.WatchTask NOSHEDULE BELOW
-
- But...
-
- The side effect is that when the screen is unblanked, BB.WatchTask is not
- terminated, so you are left with an orphan task which cannot get any CPU
- time, yet _needs_ CPU time to quit itself. After a few blank-unblank cycles,
- you are left with a load of these neglected orphans, which sends the CPU load
- shooting up.
-
- The orphans will disappear once the CPU-hogging program goes idle, but having
- these useless tasks lying around is a bit wasteful, not to mention irritating.
- And if you are running a program which takes a long time to complete, for
- example a complex render taking several days, you could have dozens of
- BB.WatchTasks lying around by the time it's complete...
-
- -- Mat.
-